// JavaScript Document

function formatCurrency(num)
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}

var zChar = new Array(' ', '(', ')', '-', '.');
var maxphonelength = 14;
var phonevalue1;
var phonevalue2;
var cursorposition;
 
function ParseForNumber1(object){
    phonevalue1 = ParseChar(object.value, zChar);
}
function ParseForNumber2(object){
    phonevalue2 = ParseChar(object.value, zChar);
}
 
function backspacerUP(object,e) { 
    if(e){ 
        e = e 
    } else {
        e = window.event 
    } 
    if(e.which){ 
        var keycode = e.which 
    } else {
        var keycode = e.keyCode 
    }
 
    ParseForNumber1(object)
 
    if(keycode >= 48){
        ValidatePhone(object)
    }
}
 
function backspacerDOWN(object,e) { 
    if(e){ 
        e = e 
    } else {
        e = window.event 
    } 
    if(e.which){ 
        var keycode = e.which 
    } else {
        var keycode = e.keyCode 
    }
    ParseForNumber2(object)
} 
 
function GetCursorPosition(){
 
    var t1 = phonevalue1;
    var t2 = phonevalue2;
    var bool = false
    for (i=0; i<t1.length; i++)
    {
        if (t1.substring(i,1) != t2.substring(i,1)) {
            if(!bool) {
                cursorposition=i
                window.status=cursorposition
                bool=true
            }
        }
    }
}
 
function ValidatePhone(object){
 
    var p = phonevalue1
 
    p = p.replace(/[^\d]*/gi,"")
 
    if (p.length < 3) {
        object.value=p
    } else if(p.length==3){
        pp=p;
        d4=p.indexOf('(')
        d5=p.indexOf(')')
        if(d4==-1){
            pp="("+pp;
        }
        if(d5==-1){
            pp=pp+")";
        }
        object.value = pp;
    } else if(p.length>3 && p.length < 7){
        p ="(" + p; 
        l30=p.length;
        p30=p.substring(0,4);
        p30=p30+") " // add space
 
        p31=p.substring(4,l30);
        pp=p30+p31;
 
        object.value = pp; 
 
    } else if(p.length >= 7){
        p ="(" + p; 
        l30=p.length;
        p30=p.substring(0,4);
        p30=p30+") " // add space
 
        p31=p.substring(4,l30);
        pp=p30+p31;
 
        l40 = pp.length;
        p40 = pp.substring(0,9); //8
        p40 = p40 + "-"
 
        p41 = pp.substring(9,l40); //8
        ppp = p40 + p41;
 
        object.value = ppp.substring(0, maxphonelength);
    }
 
    GetCursorPosition()
 
    if(cursorposition >= 0){
        if (cursorposition == 0) {
            cursorposition = 2
        } else if (cursorposition <= 2) {
            cursorposition = cursorposition + 1
        } else if (cursorposition <= 4) {
            cursorposition = cursorposition + 3//2
        } else if (cursorposition == 5) {
            cursorposition = cursorposition + 3//2
        } else if (cursorposition == 6) { //new
            cursorposition = cursorposition + 3 //2
        } else if (cursorposition == 7) { //6
            cursorposition = cursorposition + 4 //2
        } else if (cursorposition == 8) { //7
            cursorposition = cursorposition + 4
            e1=object.value.indexOf(')')
            e2=object.value.indexOf('-')
            if (e1>-1 && e2>-1){
                if (e2-e1 == 4) {
                    cursorposition = cursorposition - 1
                }
            }
        } else if (cursorposition == 9) { //7
            cursorposition = cursorposition + 4
        } else if (cursorposition < 11) {
            cursorposition = cursorposition + 3
        } else if (cursorposition == 11) {
            cursorposition = cursorposition + 1
        } else if (cursorposition == 12) {
            cursorposition = cursorposition + 1
        } else if (cursorposition >= 13) {
            cursorposition = cursorposition
        }
 
/*
        } else if (cursorposition >= 12) {
            cursorposition = cursorposition
*/
        var txtRange = object.createTextRange();
        txtRange.moveStart( "character", cursorposition);
        txtRange.moveEnd( "character", cursorposition - object.value.length);
        txtRange.select();
    }
 
}
 
function ParseChar(sStr, sChar)
{
 
    if (sChar.length == null) 
    {
        zChar = new Array(sChar);
    }
        else zChar = sChar;
 
    for (i=0; i<zChar.length; i++)
    {
        sNewStr = "";
 
        var iStart = 0;
        var iEnd = sStr.indexOf(sChar[i]);
 
        while (iEnd != -1)
        {
            sNewStr += sStr.substring(iStart, iEnd);
            iStart = iEnd + 1;
            iEnd = sStr.indexOf(sChar[i], iStart);
        }
        sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);
 
        sStr = sNewStr;
    }
 
    return sNewStr;
}

function numbersonly(myfield, e, dec)
{
var key;
var keychar;

if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

// numbers
else if ((("0123456789").indexOf(keychar) > -1))
   return true;

// decimal point jump
else if (dec && (keychar == "."))
   {
   myfield.form.elements[dec].focus();
   return false;
   }
else
   return false;
}

function _(e)
{
	return document.getElementById(e);
}	